package com.gzhryc.shared_device.common.device.dao.db;

import com.gzhryc.jdbc.annotaion.Column;
import com.gzhryc.jdbc.annotaion.Id;
import com.gzhryc.jdbc.annotaion.Table;
import com.gzhryc.shared_device.base.enums.ENetworkType;

import java.io.Serializable;
import java.util.Date;

/**
 * 智能设备类型
 * @version 2022-08-29
 */
@Table(name="device_type")
public class DeviceType implements Serializable {

    private static final long serialVersionUID = 1L;

	@Id(auto = false)
    @Column(note = "设备类型ID")
    protected String id;

    @Column(note = "设备类型名称")
    protected String name;

    @Column(name="thumbnail_img",length = 255,note = "设备类型图片")
    protected String thumbnailImg;

    @Column(name = "network_tye",notNull = true,defVal = "1",note = "联网类型")
    protected Integer networkType;

    @Column(name="produce_batch_index",notNull = true,defVal = "0",note = "生产批次索引")
    protected Integer produceBatchIndex;

    @Column(length = 255,note="备注")
    protected String note;

    @Column(name = "update_date", autoUpdateTime = true, note = "最后修改时间")
    protected Date updateDate;

    @Column(name = "create_date")
    protected Date createDate;

    private String funcCodeNames;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getThumbnailImg() {
        return thumbnailImg;
    }

    public void setThumbnailImg(String thumbnailImg) {
        this.thumbnailImg = thumbnailImg;
    }

    public Integer getNetworkType() {
        return networkType;
    }

    public void setNetworkType(Integer networkType) {
        this.networkType = networkType;
    }

    public Integer getProduceBatchIndex() {
        return produceBatchIndex;
    }

    public void setProduceBatchIndex(Integer produceBatchIndex) {
        this.produceBatchIndex = produceBatchIndex;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getNetworkTypeName(){
        return ENetworkType.note(this.networkType);
    }

    public String getFuncCodeNames() {
        return funcCodeNames;
    }

    public void setFuncCodeNames(String funcCodeNames) {
        this.funcCodeNames = funcCodeNames;
    }
}
